package cn.home.service.domain;

import java.util.Date;

import cn.home.DYX.domain.HomeDoctor;
import cn.home.DYX.domain.HomeInstitution;
import cn.home.DYX.domain.HomeTeam;
import cn.home.fenni.domain.HomeServiceItem;
import cn.home.fenni.domain.HomeServicePackage;
import cn.home.resident.domain.HomeUser;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import cn.home.common.annotation.Excel;
import cn.home.common.core.domain.BaseEntity;

/**
 * 待处理服务对象 home_service
 * 
 * @author xsc
 * @date 2025-04-09
 */
public class HomeService extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 服务编号 */
    private Long id;

    /** 居民id(外键) */
    @Excel(name = "居民id(外键)")
    private Long userId;
private HomeUser    homeuser;
    /** 服务机构(外键) */
    private Long organizationId;
    private HomeInstitution homeinstitution;
    /** 服务团队(外键) */
    @Excel(name = "服务团队(外键)")
    private Long teamId;
private HomeTeam hometeam;
    /** 服务医生(外键) */
    @Excel(name = "服务医生(外键)")
    private Long doctorId;
    private HomeDoctor homedoctor;
    /** 服务包(外键) */
    @Excel(name = "服务包(外键)")
    private Long packageId;
private HomeServicePackage homeservicepackage;
    /** 服务项目(外键) */
    private Long itemId;

private HomeServiceItem homeServiceItem;
/** 服务状态(数据字典  5种状态) */
    @Excel(name = "服务状态(数据字典  5种状态)")
    private Long status;

    /** 服务地点(数据字典  上门服务/机构门诊) */
    private String location;

    /** 预约时间 */
    private Date appointmentTime;

    /** 提交时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date submissionTime;

    /** 审核时间 */
    private Date auditTime;

    /** 审核人id */
    private String auditorId;
    private  HomeDoctor homeDoctor1;

    /** 取消时间 */
    private Date cancellationTime;

    /** 取消原因 */
    private String cancellationReason;

    /** 完成时间 */
    private Date finishTime;

    public HomeDoctor getHomeDoctor1() {
        return homeDoctor1;
    }

    public void setHomeDoctor1(HomeDoctor homeDoctor1) {
        this.homeDoctor1 = homeDoctor1;
    }

    public HomeInstitution getHomeinstitution() {
        return homeinstitution;
    }

    public void setHomeinstitution(HomeInstitution homeinstitution) {
        this.homeinstitution = homeinstitution;
    }

    public HomeUser getHomeuser() {
        return homeuser;
    }

    public void setHomeuser(HomeUser homeuser) {
        this.homeuser = homeuser;
    }

    public HomeTeam getHometeam() {
        return hometeam;
    }

    public void setHometeam(HomeTeam hometeam) {
        this.hometeam = hometeam;
    }

    public HomeDoctor getHomedoctor() {
        return homedoctor;
    }

    public void setHomedoctor(HomeDoctor homedoctor) {
        this.homedoctor = homedoctor;
    }

    public HomeServicePackage getHomeservicepackage() {
        return homeservicepackage;
    }

    public void setHomeservicepackage(HomeServicePackage homeservicepackage) {
        this.homeservicepackage = homeservicepackage;
    }

    public HomeServiceItem getHomeServiceItem() {
        return homeServiceItem;
    }

    public void setHomeServiceItem(HomeServiceItem homeServiceItem) {
        this.homeServiceItem = homeServiceItem;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setOrganizationId(Long organizationId) 
    {
        this.organizationId = organizationId;
    }

    public Long getOrganizationId() 
    {
        return organizationId;
    }

    public void setTeamId(Long teamId) 
    {
        this.teamId = teamId;
    }

    public Long getTeamId() 
    {
        return teamId;
    }

    public void setDoctorId(Long doctorId) 
    {
        this.doctorId = doctorId;
    }

    public Long getDoctorId() 
    {
        return doctorId;
    }

    public void setPackageId(Long packageId) 
    {
        this.packageId = packageId;
    }

    public Long getPackageId() 
    {
        return packageId;
    }

    public void setItemId(Long itemId) 
    {
        this.itemId = itemId;
    }

    public Long getItemId() 
    {
        return itemId;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public void setLocation(String location) 
    {
        this.location = location;
    }

    public String getLocation() 
    {
        return location;
    }

    public void setAppointmentTime(Date appointmentTime) 
    {
        this.appointmentTime = appointmentTime;
    }

    public Date getAppointmentTime() 
    {
        return appointmentTime;
    }

    public void setSubmissionTime(Date submissionTime) 
    {
        this.submissionTime = submissionTime;
    }

    public Date getSubmissionTime() 
    {
        return submissionTime;
    }

    public void setAuditTime(Date auditTime) 
    {
        this.auditTime = auditTime;
    }

    public Date getAuditTime() 
    {
        return auditTime;
    }

    public void setAuditorId(String auditorId) 
    {
        this.auditorId = auditorId;
    }

    public String getAuditorId() 
    {
        return auditorId;
    }

    public void setCancellationTime(Date cancellationTime) 
    {
        this.cancellationTime = cancellationTime;
    }

    public Date getCancellationTime() 
    {
        return cancellationTime;
    }

    public void setCancellationReason(String cancellationReason) 
    {
        this.cancellationReason = cancellationReason;
    }

    public String getCancellationReason() 
    {
        return cancellationReason;
    }

    public void setFinishTime(Date finishTime) 
    {
        this.finishTime = finishTime;
    }

    public Date getFinishTime() 
    {
        return finishTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("organizationId", getOrganizationId())
            .append("teamId", getTeamId())
            .append("doctorId", getDoctorId())
            .append("packageId", getPackageId())
            .append("itemId", getItemId())
            .append("status", getStatus())
            .append("location", getLocation())
            .append("appointmentTime", getAppointmentTime())
            .append("submissionTime", getSubmissionTime())
            .append("auditTime", getAuditTime())
            .append("auditorId", getAuditorId())
            .append("cancellationTime", getCancellationTime())
            .append("cancellationReason", getCancellationReason())
            .append("finishTime", getFinishTime())
            .append("remark", getRemark())
            .toString();
    }
}
